package com.bifang.common.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class QrtzDetailsVO extends BasePageVO {
    /** 调度名称 */
    @ApiModelProperty(value = "调度名称")
    private String schedName;

    /** 触发器的名字 */
    @ApiModelProperty(value = "触发器的名字")
    private String triggerName;

    /** 触发器所属组的名字 */
    @ApiModelProperty(value = "触发器所属组的名字")
    private String triggerGroup;

    /** 任务名字 */
    @ApiModelProperty(value = "任务名字")
    private String jobName;

    /** 任务所属组名字 */
    @ApiModelProperty(value = "任务所属组名字")
    private String jobGroup;

    /** 触发器描述 */
    @ApiModelProperty(value = "触发器描述")
    private String description;
    /** 任务描述 */
    @ApiModelProperty(value = "任务描述")
    private String jobDescription;
    /** 上一次触发时间（毫秒） */
    @ApiModelProperty(value = "上一次触发时间（毫秒）")
    private Long nextFireTime;

    /** 下一次触发时间，默认为-1，意味不会自动触发 */
    @ApiModelProperty(value = "下一次触发时间，默认为-1，意味不会自动触发")
    private Long prevFireTime;

    /** 优先级 */
    @ApiModelProperty(value = "优先级")
    private Long priority;

    /**
     * 当前触发器状态，设置为ACQUIRED,如果设置为WAITING,则job不会触发 （ WAITING:等待 PAUSED:暂停ACQUIRED:正常执行 BLOCKED：阻塞
     * ERROR：错误）
     */
    @ApiModelProperty(
            value =
                    "当前触发器状态，设置为ACQUIRED,如果设置为WAITING,则job不会触发 （ WAITING:等待 PAUSED:暂停ACQUIRED:正常执行 BLOCKED：阻塞 ERROR：错误）")
    private String triggerState;

    /** 触发器的类型，使用cron表达式 */
    @ApiModelProperty(value = "触发器的类型，使用cron表达式")
    private String triggerType;

    /** 开始时间 */
    @ApiModelProperty(value = "开始时间")
    private Long startTime;

    /** 结束时间 */
    @ApiModelProperty(value = "结束时间")
    private Long endTime;

    /** 日程表名称，表qrtz_calendars的calendar_name字段外键 */
    @ApiModelProperty(value = "日程表名称，表qrtz_calendars的calendar_name字段外键")
    private String calendarName;

    /** 措施或者是补偿执行的策略 */
    @ApiModelProperty(value = "措施或者是补偿执行的策略")
    private Short misfireInstr;

    /** cron表达式 */
    @ApiModelProperty(value = "cron表达式")
    private String cronExpression;

    /** 时区 */
    @ApiModelProperty(value = "时区")
    private String timeZoneId;
    /** 集群中job实现类的完全包名 */
    @ApiModelProperty(value = "集群中job实现类的完全包名")
    private String jobClassName;

    /** 是否持久化,把该属性设置为1，quartz会把job持久化到数据库中 */
    @ApiModelProperty(value = "是否持久化,把该属性设置为1，quartz会把job持久化到数据库中")
    private String isDurable;

    /** 是否并发 */
    @ApiModelProperty(value = "是否并发")
    private String isNonconcurrent;

    /** 是否更新数据 */
    @ApiModelProperty(value = "是否更新数据")
    private String isUpdateData;

    /** 是否接受恢复执行，默认为false，设置了RequestsRecovery为true，则该job会被重新执行 */
    @ApiModelProperty(value = "是否接受恢复执行，默认为false，设置了RequestsRecovery为true，则该job会被重新执行")
    private String requestsRecovery;
    /** 参数信息 */
    @ApiModelProperty(value = "参数信息")
    private String parameter;
}
